From: Varun Wadekar Date: Fri, 1 Sep 2017 00:14:22 +0000 (-0700) Subject: Tegra186: mce: use udelay() to calculate timeouts X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22/%22https:/collectd.org/%22?a=commitdiff_plain;h=f9f620d6ac26288600780896837db83d5d2eb44f;p=project%2Fbcm63xx%2Fatf.git Tegra186: mce: use udelay() to calculate timeouts This patch modifies the timeout loop to use udelay() instead of mdelay(). This helps with the boot time on some platforms which issue a lot of MCE calls and every mdelay adds up increasing the boot time by a lot. Change-Id: Ic50081b73e1cbc2714361235b5c396e294b8f752 Signed-off-by: Varun Wadekar --- diff --git a/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c b/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c index 9c4e57ca..602a0562 100644 --- a/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c +++ b/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c @@ -35,8 +35,8 @@ #define ARI_REQUEST_VALID_BIT (1U << 8) #define ARI_EVT_MASK_STANDBYWFI_BIT (1U << 7) -/* default timeout (ms) to wait for ARI completion */ -#define ARI_MAX_RETRY_COUNT 2000 +/* default timeout (us) to wait for ARI completion */ +#define ARI_MAX_RETRY_COUNT U(2000000) /******************************************************************************* * ARI helper functions @@ -80,7 +80,7 @@ static inline void ari_clobber_response(uint32_t ari_base) static int32_t ari_request_wait(uint32_t ari_base, uint32_t evt_mask, uint32_t req, uint32_t lo, uint32_t hi) { - uint32_t retries = ARI_MAX_RETRY_COUNT; + uint32_t retries = (uint32_t)ARI_MAX_RETRY_COUNT; uint32_t status; int32_t ret = 0; @@ -115,8 +115,8 @@ static int32_t ari_request_wait(uint32_t ari_base, uint32_t evt_mask, uint32_t r break; } - /* delay 1 ms */ - mdelay(1); + /* delay 1 us */ + udelay(1); /* decrement the retry count */ retries--;